package com.github.xtranslation.core.annotation;


import com.github.xtranslation.core.core.TransModel;
import com.github.xtranslation.core.repository.dict.DictTransRepository;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * DictTrans: 字典翻译注解
 * <p>
 * 该注解用于字段上，将字段值作为键从指定字典组中获取对应的值进行翻译。
 * </p>
 *
 * @author zhangxiaoxiang
 * @since 2025/7/27
 */
@Trans(repository = DictTransRepository.class, transField = TransModel.VAL_EXTRACT)
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface DictTrans {

    /**
     * @return 需要翻译的字段名称，即包含原始值的字段
     */
    String transKey() default "";

    /**
     * @return 字典分组标识，用于区分不同的字典数据
     */
    String group() default "";

}
